Skip to content

Latest commit

 

History

History
163 lines (132 loc) · 3.11 KB

Data Type User Manual.rst

File metadata and controls

163 lines (132 loc) · 3.11 KB

数据类型Type使用手册

Type:{
        NumericType |   StringType | DateAndTimeType
}

NumericType:{
        IntegerType OptFieldLen FieldOpts
    |   BooleanType FieldOpts
    |   FixedPointType FloatOpt FieldOpts
    |   FloatingPointType FloatOpt FieldOpts
    |   BitValueType OptFieldLen
}

IntegerType:{
        "TINYINT" | "SMALLINT" |    "MEDIUMINT"
    |   "INT" | "INT1" |    "INT2" |    "INT3" |    "INT4" |    "INT8"
    |   "INTEGER" | "BIGINT"
}

BooleanType:{
    "BOOL" |    "BOOLEAN"
}

FixedPointType:{
    "DECIMAL" | "NUMERIC" | "FIXED"
}

FloatingPointType:{
    "FLOAT" |   "REAL" |    "DOUBLE" |  "DOUBLE" "PRECISION"
}

BitValueType:{
    "BIT"
}

StringType:{
        Char FieldLen OptBinary
    |   Char OptBinary
    |   NChar FieldLen OptBinary
    |   NChar OptBinary
    |   Varchar FieldLen OptBinary
    |   NVarchar FieldLen OptBinary
    |   "BINARY" OptFieldLen
    |   "VARBINARY" FieldLen
    |   BlobType
    |   TextType OptCharsetWithOptBinary
    |   "ENUM" '(' StringList ')' OptCharset
    |   "SET" '(' StringList ')' OptCharset
    |   "LONG" Varchar OptCharsetWithOptBinary
    |   "LONG" OptCharsetWithOptBinary
}

Char:{
    "CHARACTER" |   "CHAR"
}

NChar:{
        "NCHAR"
    |   "NATIONAL" "CHARACTER"
    |   "NATIONAL" "CHAR"
}

Varchar:{
        "CHARACTER" "VARYING"
    |   "CHAR" "VARYING"
    |   "VARCHAR"
    |   "VARCHARACTER"
}

NVarchar:{
        "NATIONAL" "VARCHAR"
    |   "NATIONAL" "VARCHARACTER"
    |   "NVARCHAR"
    |   "NCHAR" "VARCHAR"
    |   "NCHAR" "VARCHARACTER"
    |   "NATIONAL" "CHARACTER" "VARYING"
    |   "NATIONAL" "CHAR" "VARYING"
    |   "NCHAR" "VARYING"
}

BlobType:
        "TINYBLOB"
    |   "BLOB" OptFieldLen
    |   "MEDIUMBLOB" | "LONGBLOB" | "LONG" "VARBINARY"

TextType:
    "TINYTEXT" |    "TEXT" OptFieldLen |    "MEDIUMTEXT" |  "LONGTEXT"

DateAndTimeType:
        "DATE"
    |   "DATETIME" OptFieldLen
    |   "TIMESTAMP" OptFieldLen
    |   "TIME" OptFieldLen
    |   Year OptFieldLen FieldOpts

Year:
    "YEAR"

OptFieldLen:{
        ""
    |   FieldLen
}

FloatOpt:{
        ""
    |   FieldLen
    |   Precision
}

FieldLen:{
    '(' LengthNum ')'
}

Precision:{
    '(' LengthNum ',' LengthNum ')'
}

FieldOpts:{
        ""
    |   FieldOpts FieldOpt
}

FieldOpt:{
    "UNSIGNED" |    "SIGNED" | "ZEROFILL"
}

OptBinary:{
        ""
    |   "BINARY" OptCharset
    |   CharsetKw CharsetName OptBinMod
}

OptCharset:{
        ""
    |   CharsetKw CharsetName
}

CharsetKw:
    "CHARACTER" "SET"
|   "CHARSET"
|   "CHAR" "SET"

CharsetName:
    StringName
|   "BINARY"

OptBinMod:
    ""
|   "BINARY"

StringList:
        stringLit
    |   StringList ',' stringLit

OptCharsetWithOptBinary:
        OptBinary
    |   "ASCII" |   "UNICODE" | "BYTE"